Add --with-ebpf-includes parameter
authorHilko Bengen <bengen@debian.org>
Tue, 23 Jul 2019 12:43:21 +0000 (14:43 +0200)
committerAndreas Dolp <dev@andreas-dolp.de>
Tue, 17 Mar 2026 14:23:03 +0000 (15:23 +0100)
Last-Update: 2025-07-11
Bug: https://redmine.openinfosecfoundation.org/issues/3097

This patch fixes a FTBFS error on the i386 architecture by setting proper
include directories. The error is caused by improper directory names e.g.
'-I/usr/include/i386-linux-gnu' vs. '-I/usr/include/i686-linux-gnu/'.

Gbp-Pq: Name with-ebpf-includes.patch

configure.ac
ebpf/Makefile.am

index f0f5aca7a124596bd7f33226fc22880ac5a587da..eed8f63f4ee2342b51381489b1ecb454d0249fff 100644 (file)
                     AC_SUBST(LLC)
                   ],
                   [AC_MSG_ERROR([clang needed to build ebpf files])])
-            AC_MSG_CHECKING([libbpf has bpf/bpf_helpers.h])
+            AC_ARG_WITH(ebpf_includes,
+                    [  --with-ebpf-includes=DIR  include directory for building eBPF programs],
+                    [AC_SUBST([ebpf_includes],["$withval"])],
+                    [AC_SUBST([ebpf_includes],["/usr/include/${build_alias}"])])
+           AC_MSG_CHECKING([libbpf has bpf/bpf_helpers.h])
             AC_COMPILE_IFELSE(
                 [AC_LANG_PROGRAM(
                     [
index d43c2c97a2c21b46330ec2c3d75293a4cecdf75e..898c5bd7a684d86cb4ba2085a6dd9f3695011f72 100644 (file)
@@ -4,7 +4,7 @@ EXTRA_DIST= include bypass_filter.c filter.c lb.c vlan_filter.c xdp_filter.c \
 if BUILD_EBPF
 
 # Maintaining a local copy of UAPI linux/bpf.h
-BPF_CFLAGS = -Iinclude
+BPF_CFLAGS = -Iinclude -I$(ebpf_includes)
 
 BPF_TARGETS  = lb.bpf
 BPF_TARGETS += filter.bpf
@@ -19,7 +19,6 @@ all: $(BPF_TARGETS)
 $(BPF_TARGETS): %.bpf: %.c
 #      From C-code to LLVM-IR format suffix .ll (clang -S -emit-llvm)
        ${CLANG} -Wall $(BPF_CFLAGS) -O2 -g \
-               -I/usr/include/$(build_cpu)-$(build_os)/ \
                -D__KERNEL__ -D__ASM_SYSREG_H \
                -target bpf -S -emit-llvm $< -o ${@:.bpf=.ll}
 #      From LLVM-IR to BPF-bytecode in ELF-obj file